<?php
class Ordenes extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->library(
                array(
                    'session',
                    'r_session',
                    'form_validation',
                    'r_currency'
                ));
        $this->load->helper(
                array(
                    'url'
                ));
        $this->load->model(
                array(
                    'proveedores_model',
                    'monedas_model',
                    'ordenes_model',
                    'pedidos_model',
                    'consultas_model',
                    'articulos_model',
                    'marcas_model'
                ));
        $this->r_session->check($this->session->all_userdata());
    }
    
    public function agregar() {
        $session = $this->session->all_userdata();
        $session['title'] = 'Agregar Orden';
        
        $data['proveedores'] = $this->proveedores_model->get_proveedores();
        $data['monedas'] = $this->monedas_model->get_monedas();
        
        $this->form_validation->set_rules('proveedor', 'Proveedor', 'required');
        
        if($this->form_validation->run() == FALSE) {
            
        } else {
            $datos = array(
                'orden' => $this->input->post('orden'),
                'idproveedor' => $this->input->post('proveedor'),
                'idmoneda' => $this->input->post('moneda'),
                'observaciones' => $this->input->post('observaciones')
            );
            
            $idorden = $this->ordenes_model->set_orden($datos);
                    
            redirect('/ordenes/agregar_items/'.$idorden.'/', 'refresh');
        }
        
        $this->load->view('layout/header', $session);
        $this->load->view('ordenes/agregar', $data);
        $this->load->view('layout/footer');
    }
    
    public function agregar_items($idorden) {
        $session = $this->session->all_userdata();
        $session['title'] = 'Agregar items a la Orden';
        
        $data['orden'] = $this->ordenes_model->get_orden_por_id($idorden);
        $data['orden']['proveedor'] = $this->proveedores_model->get_proveedor_por_id($data['orden']['idproveedor']);
        $data['orden']['moneda'] = $this->monedas_model->get_moneda_por_id($data['orden']['idmoneda']);
        
        $data['itemspendientes'] = $this->pedidos_model->get_items_pendientes_por_proveedor($data['orden']['idproveedor']);
        
        foreach($data['itemspendientes'] as $key => $value) {
            $data['itemspendientes'][$key]['cambio'] = $this->r_currency->get_dolares($value['precio'], $value['currency']);
        }
        
        $data['orden']['items'] = $this->ordenes_model->get_items_de_una_orden($idorden);
        
        foreach($data['orden']['items'] as $key => $value) {
            $data['orden']['items'][$key]['articulo'] = $this->articulos_model->get_articulo_por_id($value['idarticulo']);
            $data['orden']['items'][$key]['marca'] = $this->marcas_model->get_marca_por_id($data['orden']['items'][$key]['articulo']['idMarca']);
        }
        /*echo "<br><br><br><br>";
        var_dump($data['itemspendientes']);
*/
        $this->load->view('layout/header', $session);
        $this->load->view('ordenes/agregar_items', $data);
        $this->load->view('layout/footer');
    }
    
    public function agregar_item_de_pedido($iditempedido, $iditemsconsulta, $idorden) {
        
        $item = $this->consultas_model->get_item_por_id($iditemsconsulta);
        $datos = array(
            'idorden' => $idorden,
            'iditemspedido' => $iditempedido,
            'iditemsconsulta' => $iditemsconsulta,
            'idarticulo' => $item['idarticulo'],
            'cantidad' => $item['cantidad'],
            'precio' => $item['precio']
        );
        $this->ordenes_model->set_item($datos);
        
        $datos = array(
            'idOrdenDeCompra' => $idorden
        );
        $this->pedidos_model->update_item($datos, $iditempedido);
        
        redirect('/ordenes/agregar_items/'.$idorden.'/', 'refresh');
    }
    
    public function borrar_items_del_pedido($iditem) {
        
        $item = $this->ordenes_model->get_item_por_id($iditem);
        $idorden = $item['idorden'];
        
        if($item['iditemspedido'] > 0) {
            
            $datos = array(
                'idOrdenDeCompra' => 0
            );
            $this->pedidos_model->update_item($datos, $item['iditemspedido']);
            
        }
        
        $this->ordenes_model->delete_item($iditem);
        
        redirect('/ordenes/agregar_items/'.$idorden.'/', 'refresh');
    }
}
?>
